Flash memory is an electronic (solid-state) non-volatile computer storage medium that can be electrically erased and reprogrammed. The NAND flash memory is a main type of flash memory named after the NAND logic gates, it has advantages of fast programming and short erasing time.
The NAND flash array is composed of a plurality of memory cells. Each memory cell stores a binary code 0 or 1. Several memory cells form a “word”. An address decoder of the NAND flash array includes n address output lines A0˜An−1 and 2n decoder output lines W0˜W2n−1. The decoder output line Wi is called a “wordline” and corresponds to a word in the storage array.
Basic operations to the NAND flash memory includes erase operation, program operation and read operation. The erase operation is operated block by block, all the memory cells in the block are erased, and the data in the memory cells are 1 after erase. The program operation is operated page by page, whether to program the page is determined according to the input data 0 or 1. When the input data is “0”, program is performed; when the input data is “1”, program is not performed. Read operation is to apply a wordline voltage in the gate of the memory cell, and test the current on the memory cell, when the read current is less than a reference current, the data stored in the memory cell is determined to be “0”, and when the read current is larger than a reference current, the data stored in the memory cell is determined to be “1”.
A threshold voltage of the memory cell of the NAND flash memory varies with temperature, which is around −1.5 mV/° C. In the conventional technology, when performing a read operation on the NAND flash memory, a constant voltage without varying with temperature is usually applied to the wordline. As a result, it may lead to read error, for example, “1” may be read as “0” under low temperature, and “0” may be read as “1” under high temperature.
A temperature coefficient (Tco) describes the relative change of a physical property that is associated with a given change in temperature. In NAND flash memory, for the above reason, a compensate voltage with a temperature coefficient is applied to wordlines to compensate the read voltage and program verify voltage of a wordline. In the conventional technology, the temperature coefficient is fixed, and then the compensate voltage applied to the wordlines are fixed.
However, the compensate voltage with the fixed temperature coefficient may not be suitable to all the wordlines, it may lead to over-compensate and under-compensate, which may generate error on the operation of wordlines.